import {reactive, ref,watch,h} from "vue";
import dictHelp from "@/utils/dicthelp.js";
import declareColumns from "@/utils/shipmentTools.js";
import addressLibDetail from "@/api/logistics/addressLibDetail.js";
import {getDictData} from "@/utils/crud/dict.js";
import common from "@/api/common.js";
import dicthelpApi from "@/api/dicthelpApi.js";

const auditView = () => {
    return window.location.href.includes('shipmentAudit') == false
}
const getParcelData = (maFormObject, val) => {
    let formData = maFormObject.formModel.value
    let count = val ? val : formData.parcel_count ? formData.parcel_count : 1
    let oldList = formData.parcel.splice(0, formData.parcel.length)
    let fba = fbaConfig.value.fba
    fba = fba.toUpperCase()
    oldList = oldList.splice(0,oldList.length-5)
    if(fbaConfig.value.merge_number && fbaConfig.value.merge_number.includes('1')){
        let item = oldList[0] ??{}

        item.ext_number =  count > 1 ? '1-' + count : '1'

        item.ext_number = fbaConfig.value.fba_check.includes('1') ? getExtNumber(fba,item,0) : splitStringAroundUAndZeros(item.ext_number)

        formData.parcel.push(item)
        return
    }else{
        for (let i = 0; i < count; i++) {
            let item = oldList[i] ??{}
            item.ext_number = i + 1
            // item.is_elec = '否'
            // item.is_magnetic = '否'
            formData.parcel.push(item)
        }
    }
    formData.parcel.map((item,index)=>{
        if(!item.ext_number){
            return
        }
        item.ext_number = fbaConfig.value.fba_check.includes('1') ? getExtNumber(fba,item,index) : splitStringAroundUAndZeros(item.ext_number);
        item.po_number = fbaConfig.value.po_number_check.includes('1') ? fbaConfig.value.po_number : '';
    })
}

const splitStringAroundUAndZeros = (str)=>{
    str = String(str)
    const regex = /^(.*?)U(0+)(.*?)$/;
    const matches = str.match(regex);
    if(matches && matches.length > 3){
        return matches[3]
    }
    return str
}


const fbaConfig = ref({})

const service_id = ref([])
const user_id = ref(0)
const updateAddress = async (maFormObject) => {
    if (service_id.value && user_id.value) {
        let data = {user_id: user_id.value, service_id: service_id.value, type: 1}
        let res = await addressLibDetail.getAllList(data)
        let dicts = maFormObject.getColumnService().dicts
        dicts['address_lib_detail_id'] = res.data
        dicts['address_lib_detail_id']['tran'] = []
    }
}
const getExtNumber = (fba,item,index)=>{
    if(fbaConfig.value.merge_number && fbaConfig.value.merge_number.includes('1')){
        // 用 - 分割成数组
        let [extWithNumber,lastNumber] = item.ext_number.split('-')
        let firstNumber = extWithNumber.split('U').pop()
        return fba + 'U' + firstNumber.toString().padStart(fbaConfig.value.n,'0') + (lastNumber ? '-' + lastNumber :'')
    }
    return fba + 'U' + (index+1).toString().padStart(fbaConfig.value.n,'0')
}
const setRequire = (item,index,value,service) =>{
    if(item.dataIndex == index){
        item.rules = service.bit_control.includes(value) ? {required: true, message: '请填写' + i.title} : {}
    }
}
// let dictObj={}//全部编码
// let dicthelpApi_service=[] //服务
// let dicthelpApi_dept=[] //部门
// let dicthelpApi_user=[] //员工
// let dicthelpApi_depot=[] //货站
// let dicthelpApi_customerGrade=[] //用户等级
// let dicthelpApi_supplier_service=[] //供应商服务
// let dicthelpApi_customer=[] //用户
// let dicthelpApi_tags=[] //标识
// let dicthelpApi_addressLibDetail =[]//地址编码
// let dicthelpApi_serviceGroup =[]//服务
// let dicthelpApi_feeTypeRemote =[]//费用类型
//const  useShipmentMain = () => {
    // let attrDict=['countrys','endDeliveryType','shipment_parcel_type','currencyType','ShipmentAttrs','BitControl','taxwith','deliverywith','exportwith','importwith','ChargeType']
    // return common.getDicts(attrDict)
    // return dicthelpApi.dept()

    // common.getDicts(attrDict).then(res=>{
    //     dictObj=res.data   
    //  })
     
    //   dicthelpApi.dept().then(res=>{
    //    dicthelpApi_dept=res   
    //  })
    //   dicthelpApi.user().then(res=>{
    //    dicthelpApi_user=res   
    //  })
    //   dicthelpApi.depot().then(res=>{
    //    dicthelpApi_depot=res   
    //  })
    //   dicthelpApi.customerGrade().then(res=>{
    //    dicthelpApi_customerGrade=res   
    //  })
    //   dicthelpApi.supplier_service().then(res=>{
    //    dicthelpApi_supplier_service=res   
    //  })        
    //   dicthelpApi.customer().then(res=>{
    //    dicthelpApi_customer=res   
    //  })
    //   dicthelpApi.tags().then(res=>{
    //    dicthelpApi_tags=res   
    //  })
    //   dicthelpApi.addressLibDetail(2).then(res=>{
    //    dicthelpApi_addressLibDetail=res   
    //  })    
    //   dicthelpApi.serviceGroup().then(res=>{
    //    dicthelpApi_serviceGroup=res   
    //  })
    //   dicthelpApi.feeTypeRemote().then(res=>{
    //    dicthelpApi_feeTypeRemote=res   
    //  })
//}

export default async function useShipment(crudRef){
    let attrDict=['express_carrier','countrys','endDeliveryType','shipment_parcel_type','currencyType','ShipmentAttrs','BitControl','taxwith','deliverywith','exportwith','importwith','ChargeType','AttachmentType','tagType','workOrderStatus']
    let [
        dictObj,
        dicthelpApi_service,
        dicthelpApi_dept,
        dicthelpApi_user,
        dicthelpApi_depot,
        dicthelpApi_customerGrade,
        dicthelpApi_supplier_service,
        dicthelpApi_customer,
        dicthelpApi_tags,
        dicthelpApi_addressLibDetail,
        dicthelpApi_serviceGroup,
        dicthelpApi_feeTypeRemote,
        dicthelpApi_feeTypeList,
        dicthelpApi_supplier]=await Promise.all([
            common.getDicts(attrDict),
            dicthelpApi.service(),
            dicthelpApi.dept(), 
            dicthelpApi.user(),
            dicthelpApi.depot(),
            dicthelpApi.customerGrade(),
            dicthelpApi.supplier_service(),
            dicthelpApi.customer(),
            dicthelpApi.tags(),
            dicthelpApi.addressLibDetail(2),
            dicthelpApi.serviceGroup(),
            dicthelpApi.feeTypeRemote(),
            dicthelpApi.feeTypeList({select: 'id,fee_name',cate:6}),
            dicthelpApi.supplier()
    ])
    // let res=await Promise.all([common.getDicts(attrDict),dicthelpApi.service(),dicthelpApi.dept(), dicthelpApi.user(),dicthelpApi.depot(),dicthelpApi.customerGrade(),
    //     dicthelpApi.supplier_service(),dicthelpApi.customer(),dicthelpApi.tags(),dicthelpApi.addressLibDetail(2),dicthelpApi.serviceGroup(),dicthelpApi.feeTypeRemote(),dicthelpApi.feeTypeList({select: 'id,fee_name'}),dicthelpApi.supplier()
    // ])
    // let dicthelpApi_customer={
    //     data:[]
    // }
    // let dicthelpApi_addressLibDetail={
    //     data:[]
    // }
    // let dicthelpApi_serviceGroup={
    //     data:[]
    // }
    // let [dictObj,dicthelpApi_service,dicthelpApi_dept,dicthelpApi_user,dicthelpApi_depot,dicthelpApi_customerGrade,dicthelpApi_supplier_service,dicthelpApi_tags,dicthelpApi_feeTypeRemote]=await Promise.all([common.getDicts(attrDict),dicthelpApi.service(),dicthelpApi.dept(), dicthelpApi.user(),dicthelpApi.depot(),dicthelpApi.customerGrade(),
    //     dicthelpApi.supplier_service(),dicthelpApi.tags(),dicthelpApi.feeTypeRemote()
    // ])
    // dictObj=dictObj.data
    return reactive({
        dictObj,
        dicthelpApi_service,
        dicthelpApi_dept,
        dicthelpApi_user,
        dicthelpApi_depot,
        dicthelpApi_customerGrade,
        dicthelpApi_supplier_service,
        dicthelpApi_customer,
        dicthelpApi_tags,
        dicthelpApi_addressLibDetail,
        dicthelpApi_serviceGroup,
        dicthelpApi_feeTypeRemote,
        dicthelpApi_feeTypeList,
        dicthelpApi_supplier,
    })
    // //获取数据字典
    // let dictObj=await common.getDicts(['countrys','endDeliveryType','shipment_parcel_type','currencyType','ShipmentAttrs','BitControl','taxwith','deliverywith','exportwith','importwith','ChargeType'])
    // dictObj=dictObj.data
    // // console.log('dictObj',dictObj)
    // //服务
    // let dicthelpApi_service=await dicthelpApi.service()
    // //部门
    // let dicthelpApi_dept=await dicthelpApi.dept()
    // //员工
    // let dicthelpApi_user=await dicthelpApi.user()
    // //货站
    // let dicthelpApi_depot=await dicthelpApi.depot()
    // //用户等级
    // let dicthelpApi_customerGrade=await dicthelpApi.customerGrade()
    // //供应商服务
    // let dicthelpApi_supplier_service=await dicthelpApi.supplier_service()
    // //用户
    // let dicthelpApi_customer=await dicthelpApi.customer()
    // //标识
    // let dicthelpApi_tags =await dicthelpApi.tags()
    // //地址编码
    // let dicthelpApi_addressLibDetail =await dicthelpApi.addressLibDetail(2)
    // //服务
    // let dicthelpApi_serviceGroup =await dicthelpApi.serviceGroup()
    // //费用类型
    // let dicthelpApi_feeTypeRemote =await dicthelpApi.feeTypeRemote()


    
        /**
         * 用户编码
         * 用户等级
         *
         * 供应商重量
         *
         * 供应商
         * 承运
         *
         * 主品名
         *
         * 库位
         * 标识
         * 保险
         * VAT号
         * Amazon Reference ID
         * 快递标打印状态
         * 查货状态
         *
         * 提取时间
         * 标签状态
         * 创建人
         * 最后路由
         * 数据确认
         * 费用确认
         * 提单柜号
         * 结算方式
         * 结算周期
         * 结算时间*/

       
        // return reactive([
        //     {
        //         title: '关键字', dataIndex: 'keywords', search: true, hide: true, settingHide: true,
        //         addDisplay: false, editDisplay: false
        //     },
        //     {
        //         title: '全部字典', dataIndex: 'dictList', search: false, hide: true, settingHide: true,
        //         addDisplay: false, editDisplay: false,
        //         dict: {data:dictObj},
    
    //         },
    //         {
    //             title: '费用类型', dataIndex: 'feeTypeList', search: false, hide: true, settingHide: true,
    //             addDisplay: false, editDisplay: false,
    //             dict: {data:dicthelpApi_feeTypeList.data},    
    //         },
    //         {
    //             title: '供应商', dataIndex: 'supplierList', search: false, hide: true, settingHide: true,
    //             addDisplay: false, editDisplay: false,
    //             dict: {data:dicthelpApi_supplier.data},    
    //         },
    //         {
    //             title: '提单号', 
    //             dataIndex: 'waybill_no', 
    //             hide: true, 
    //             addDisplay: false, 
    //             editDisplay: false,
    //             settingHide: true,
    //             search:true
    //         },
    //         {
    //             title: "服务",
    //             dataIndex: "service_ids",
    //             formType: "tree-select",
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide:true,
    //             search: true,
    //             dict: {data:dicthelpApi_serviceGroup.data,},
    //             multiple: true,
    //             maxTagCount:1,
    //             treeCheckable: true,
    //             virtualListProps:{},
    //         },
    //         {
    //             title: "用户", dataIndex: "user_id", formType: "select",search:true,
    //             virtualListProps:{},
    //             customClass:['customer-input-item'],
    //             addDisabled: false, editDisabled: true, 
    //             dict: {
    //                 data:dicthelpApi_customer.data,
    //                 props: {label: 'username', value: 'id'}, params:{select:'id,username'},translation: true,
    //             },
    //             commonRules: {required: true, message: "请选择用户"},
    //             fixed: 'left',
    //             width: 140,
    //             addApi:()=>{
                    
    //             },
    //             onChange: async (val, maFormObject) => {
    //                 if (!val) {
    //                     return;
    //                 }
    //                 user_id.value = val
    //                 updateAddress(maFormObject)
    //             }
    //         },
    //         {
    //             title: '用户等级', dataIndex: 'user_level', formType: "select",
    //             hide: true,
    //             search: true,
    //             multiple: true,
    //             dict: {
    //                 data:dicthelpApi_customerGrade.data,
    //                 props: {label: 'name', value: 'id'}, translation: true,
    //             },
    //             addDisplay: false, editDisplay: false
    //         },
    
    //         {
    //             title: '国家',
    //             formType: 'select',
    //             dataIndex: 'country_search',
    //             addDisplay: false,
    //             editDisplay: false,
    //             search:true,
    //             multiple:true,
    //             hide:true,
    //             dict: {
    //                 data:dictObj.countrys,
    //                 props: {label: (i) => i.title + '-' + i.key, value: "key"},
    //             }
    //         },
    //         {
    //             title: '地址编码', 
    //             formType: 'select',
    //             dataIndex: 'address_lib_detail_id_search',
    //             virtualListProps:{},
    //             dict: {
    //                 // url: 'logistics/addressLibDetail/userlist',
    //                 // data:dicthelpApi_addressLibDetail.data,
    //                 data:[],
    
    //                 props: {label: (i) => i.code + '-' + i.postcode, value: 'id'}
    //             },
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide:true,
    //             search:auditView(),
    //             multiple:true
    //         },
    //         {
    //             title: '邮编',
    //             hideLabel: true,
    //             formType: 'input',
    //             dataIndex: 'postcode',
    //             settingHide: true,
    //             hide: true,
    //             search: auditView(),
    //             commonRules: {
    //                 required: true,
    //                 message: "请输入邮编"
    //             },
    //         },
    //         {title: "运单号", dataIndex: "shipment_no", formType: "input", addDisplay: false, editDisplay: false,
    //             fixed: 'left',
    //             width: 140},
    //         {title: "客户单号", dataIndex: "client_reference", formType: "input", hide: true, settingHide: true,},
    //         {
    //             title: "服务",
    //             dataIndex: "service_id",
    //             formType: "select",
    //             addDisabled: false,
    //             editDisabled: true,
    //             fixed: 'left',
    //             width: 140,
    //             // search: true,
    //             commonRules: {required: true, message: "请选择服务"},
    //             dict: {
    //                 data:dicthelpApi_service.data,
    //                 props: {label: 'name', value: 'id'}, translation: true,
    //             },
    //             onChange: async (val, maFormObject) => {
    //                 if (!val) {
    //                     return;
    //                 }
    //                 fbaConfig.value = {
    //                     n:'6',
    //                     fba: '',
    //                     fba_check: [],
    //                     po_number: '',
    //                     po_number_check: [],
    //                 }
    //                 let dict = maFormObject.getColumnService().dicts
    //                 let parcel = maFormObject.getColumnService().get('parcel')
    //                 let formData = maFormObject.formModel.value
    //                 let service;
    //                 dict['service_id'].map(i => {
    //                     if (val === i.value) {
    //                         service = i.data
    //                     }
    //                 })
    //                 console.log(service.bit_control)
    //                 // 处理交税报关方式等
    //                 let radioList = ['taxwith', 'deliverywith', 'exportwith', 'importwith'];
    //                 for (let i = 0; i < radioList.length; i++) {
    //                     let radio = radioList[i]
    //                     let service_radio = service[radio].toString()
    //                     let column = maFormObject.getColumnService().columns.filter(i => i.dataIndex === radio);
    //                     if (service['default_' + radio].toString() === '255') {
    //                         formData[radio] = ''
    //                         column[0].rules = [{required: true, message: '请选择' + column[0].title}];
    //                     } else if (service_radio.indexOf(formData[radio]) === -1) {
    //                         column[0].rules = []
    //                         formData[radio] = service['default_' + radio] ? service['default_' + radio].toString() : ''
    //                     }
    //                 }
    //                 // vat_number eori
    //                 maFormObject.getColumnService().columns.map(i => {
    //                     if(i.dataIndex == 'vat_number'){
    //                         i.rules = service.bit_control.includes('2') ? {required: true, message: '请填写' + i.title} : {}
    //                     }
    //                     if(i.dataIndex == 'eori'){
    //                         i.rules = service.bit_control.includes('3') ? {required: true, message: '请填写' + i.title} : {}
    //                     }
    //                     if(i.dataIndex == 'phone'){
    //                         i.rules = service.bit_control.includes('18') ? {required: true, message: '请填写' + i.title} : {}
    //                     }
    //                     if(i.dataIndex == 'email'){
    //                         i.rules = service.bit_control.includes('17') ? {required: true, message: '请填写' + i.title} : {}
    //                     }
    //                 })
    //                 // 处理包裹信息
    //                 if(formData.parcel.length === 0){
    //                     getParcelData(maFormObject)
    //                 }
    //                 // 处理包裹申报信息
    //                 let list = await declareColumns.getDeclareColumns(service.id)
    //                 list = declareColumns.formatDeclareColumns(list, 'create')
    //                 console.log(list)
    //                 list.map(i=>{
    //                     if(i.title == '带电' || i.title == '带磁'){
    //                         i.type = 'dropdown'
    //                         i.source = ['否', '是']
    //                     }
    //                 })
    //                 parcel.setAttr('columns', list)
    //                 service_id.value = service.id
    //                 updateAddress(maFormObject)
    //             },                
    //             onControl: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     user_id.value = crudRef.value.getFormData().user_id
    //                     service_id.value = val
    //                     updateAddress(maFormObject)
    
    //                     return;
    //                 }
    //                 return {
    //                     parcel_count: {display: !!val,},
    //                     merge_number: {display: !!val,},
    //                     fba: {display: !!val,},
    //                     po_no: {display: !!val,},
    //                     parcel: {display: !!val,},
    //                     taxwith: {display: !!val,},
    //                     deliverywith: {display: !!val,},
    //                     exportwith: {display: !!val,},
    //                     importwith: {display: !!val,},
    //                     declaration_currency: {display: !!val,},
    //                     country: {display: !!val,},
    //                     address_lib_detail_id: {display: !!val,},
    //                 };
    //             }
    //         },
    //         {
    //             title: '地址库', // todo 展示地址库编码
    //             formType: 'select',
    //             dataIndex: 'address_lib_detail_id',
    //             virtualListProps:{},
    //             dict: {
    //                 // url: 'logistics/addressLibDetail/userlist',
    //                 data:dicthelpApi_addressLibDetail.data,
    //                 props: {label: (i) => i.code + '-' + i.postcode, value: 'id'},
    //                 // params: {type: 2},
    //             },
    //             // hide:true,
    //             addDisplay: false,
    //             onChange: (val, maFormObject) => {
    //                 let dicts = maFormObject.getColumnService().dicts
    //                 if (typeof dicts['address_lib_detail_id'] === 'undefined') {
    //                     return;
    //                 }
    //                 let formData = maFormObject.formModel.value
    //                 if (val === 0) {
    //                     return;
    //                 }
    //                 if (val === '') {
    //                     formData.address_lib_detail_id = 0
    //                     formData.name = ''
    //                     formData.address1 = ''
    //                     formData.address2 = ''
    //                     formData.address3 = ''
    //                     formData.city = ''
    //                     formData.state = ''
    //                     formData.country = ''
    //                     formData.postcode = ''
    //                     formData.phone = ''
    //                     formData.email = ''
    //                     formData.company = ''
    //                     return;
    //                 }
    //                 for (const valElement of dicts['address_lib_detail_id']) {
    
    //                     if (valElement.value === val) {
    //                         let address = valElement.data
    //                         formData.name = address.name
    //                         formData.address1 = address.address_1
    //                         formData.address2 = address.address_2
    //                         formData.address3 = address.address_3
    //                         formData.city = address.city
    //                         formData.state = address.state
    //                         formData.country = address.country
    //                         formData.postcode = address.postcode
    //                         formData.phone = address.mobile
    //                         formData.email = address.email
    //                         formData.company = address.company
    //                     }
    //                 }
    //             }
    //         },
    //         {
    //             title: '国家',
    //             formType: 'select',
    //             dataIndex: 'country',
    //             addDisplay: false,
    //             // settingHide:true,
    //             // hide:true,
    //             commonRules: {
    //                 required: true,
    //                 message: "请选择国家"
    //             },
    //             dict: {
    //                 data:dictObj.countrys,
    //                 props: {label: (i) => i.title + '-' + i.key, value: "key"},
    //             }
    //         },
    //         {
    //             title: '收件人',
    //             formType: 'input',
    //             dataIndex: 'name',
    //             settingHide: true,
    //             commonRules: {
    //                 required: true,
    //                 message: "请输入收件人"
    //             },
    //         },
    //         {
    //             title: '末端派送',
    //             formType: 'select',
    //             dataIndex: 'end_delivery_type',
    //             addDisplay: false,
    //             editDisplay: false,
    //             dict: {
    //                 data:dictObj.endDeliveryType,
    //                 props: {label: 'title', value: 'key'},
    //                 translation:true,
    //             }
    //         },
    //         {
    //             title: "标识",
    //             dataIndex: "tags",
    //             dict: {
    //                 data:dicthelpApi_tags.data,
    //                 props: {label: 'name', value: 'id'},
    //                 params: {select: 'id,name,color',type:1},
    //                 translation: true, 
    //             },
    //             formType: "checkbox",
    //             addDisplay: false,
    //             editDisplay: false,
    //             customRender: ({record}) => {
    //               return getDictData('tags',record.tags,crudRef)
    //             }
    //           },
    //         {
    //             title: '主单号',
    //             formType: 'input',
    //             dataIndex: 'ups',
    //             addDisplay: false,
    //             editDisplay: false,
    //             customRender: ({record}) => {
    //                 if(!record.ups){
    //                     return record.ups
    //                 }
    //                 let str = []
    //                 record.ups.map((i,k)=>{
    //                     if(k <=2){
    //                         str.push(h('span',i))
    //                         str.push(h('br'))
                            
    //                         if(k == 2){
    //                             str.push(h('span','...'))
    //                         }
    //                     }
    //                 })
    //                 return h('div',str);
    //             },
    //         },
    //         {
    //             title: "件数",
    //             dataIndex: "parcel_count",
    //             formType: "input-number",
    //             addDefaultValue: 1,
    //             min:1,
    //             addDisplay: false,
    //             editDisplay: false,
    //             addRules:{required: true, message: '请输入包裹数量'},
    //             onChange: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return;
    //                 }
    //                 let dict = maFormObject.getColumnService().dicts
    //                 if (typeof dict['service_id'] === 'undefined') {
    //                     return;
    //                 }
    //                 let formData = crudRef.value.getFormData()
    //                 if (val > 0 && formData.service_id) {
    //                     getParcelData(maFormObject, val)
    //                 }
    //             },
    //         },
    //         {
    //             title: '',
    //             formType: 'checkbox',
    //             dataIndex: 'merge_number',
    //             settingHide: true,
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: true,
    //             dict:{data:[{label: '连续箱号',value:1}]},
    //             onChange: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return false
    //                 }
    //                 fbaConfig.value.merge_number = val
    //                 if (val && crudRef.value.getFormData().service_id) {
    //                     getParcelData(maFormObject)
    //                 }
    //             },
    //         },
    //         {
    //             title: '',
    //             formType: 'checkbox',
    //             dataIndex: 'fba',
    //             settingHide: true,
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: true,
    //             dict:{
    //                 data:[{label: 'FBA',value:1}],
    //                 translation:true
    //             },
    //             onChange: (val, maFormObject) => {
    //                 fbaConfig.value.fba_check = val
    //                 getParcelData(maFormObject)
    //             },
    //             onControl: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return false
    //                 }
                    
    //                 return {
    //                     fba_count: {display: val.includes('1'),},
    //                     fba_number: {display: val.includes('1'),},
    //                 }
    //             }
    //         },
    //         {
    //             title: '',
    //             formType: 'checkbox',
    //             dataIndex: 'po_no',
    //             settingHide: true,
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: true,
    //             dict:{
    //                 data:[{label: 'PO_Number',value:1}],
    //                 translation:true
    //             },
    //             onChange: (val, maFormObject) => {
    //                 fbaConfig.value.po_number_check = val
    //                 getParcelData(maFormObject)
    //             },
    //             onControl: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return false
    //                 }
    //                 return {
    //                     parcel_po_number: {display: val.includes('1'),},
    //                 }
    //             }
    //         },
    //         {
    //             title: '箱号位数',
    //             formType: 'radio',
    //             dataIndex: 'fba_count',
    //             type: 'button',
    //             settingHide: true,
    //             addDefaultValue: '6',
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: true,
    //             dict:{
    //                 data:[{label: '3',value:'3'},{label: '6',value:'6'},],
    //             },
    //             onChange: (val, maFormObject) => {
    //                 fbaConfig.value.n = val
    //                 getParcelData(maFormObject)
    //             }
    //         },
    //         {title:'FBA号',dataIndex:'fba_number',addDisplay:false,editDisplay:false,hide:true,
    //             onInput: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return;
    //                 }
    //                 fbaConfig.value.fba = val
    //                 getParcelData(maFormObject)
    //             }
    //         },
    //         {title:'PO_Number',dataIndex:'parcel_po_number',addDisplay:false,editDisplay:false,hide:true,
    //             onInput: (val, maFormObject) => {
    //                 if (crudRef.value.getCurrentAction() === 'edit') {
    //                     return;
    //                 }
    //                 fbaConfig.value.po_number = val
    //                 getParcelData(maFormObject)
    //             }
    //         },
    //         {title:'泡比',dataIndex:'wv_rate',addDisplay:false,editDisplay:false},
    //         {title:'收费重',dataIndex:'charge_weight',addDisplay:false,editDisplay:false},
    //         {title:'客户重量',dataIndex:'client_weight',addDisplay:false,editDisplay:false},
    //         {title:'客户体积',dataIndex:'client_volume',addDisplay:false,editDisplay:false},
    //         {title:'实重',dataIndex:'actual_weight',addDisplay:false,editDisplay:false},
    //         {title:'体积',dataIndex:'actual_volume',addDisplay:false,editDisplay:false},
    //         {title:'材重',dataIndex:'actual_volume_weight',addDisplay:false,editDisplay:false},
    //         {
    //             title: "应收",
    //             dataIndex: "income",
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: auditView(),
    //         },
    //         {
    //             title: "应付",
    //             dataIndex: "expense",
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: auditView(),
    //         },
    //         {
    //             title:'预配货提单',
    //             formType: "input",
    //             dataIndex:'container.container.public_number',
    //             addDisplay: false,
    //             editDisplay: false,
    //         },
    //         {
    //             title: "当前货站",
    //             dataIndex: "depot_id",
    //             addDisplay: false,
    //             editDisplay: false,
    //             formType: "select",
    //             dict: {
    //                 data:dicthelpApi_depot.data,
    //                 props: {label: 'name', value: 'id'}, translation: true,
    //             },
    //             hide: () => {
    //                 if (!crudRef || !crudRef.value) {
    //                     return true;
    //                 }
    //                 return crudRef.value.requestParams.status == 1
    //             },
    //         },
    //         {title:'拣货站点',
    //         dataIndex:'pickup_depot_id',
    //         formType: 'select',
    //         search:true,
    //         multiple:true,
    //         dict: {
    //             data:dicthelpApi_depot.data,
    //             props: {label: 'name', value: 'id'}, translation: true,
    //         },
    //         addDisplay:false,editDisplay:false},
    //         {
    //             title: '公司',
    //             formType: 'input',
    //             settingHide: true,
    //             hide: true,
    //             dataIndex: 'company',
    //         },
    //         {
    //             title: '地址一',
    //             formType: 'input',
    //             settingHide: true,
    //             hide: true,
    //             dataIndex: 'address1',
    //             commonRules: {
    //                 required: true,
    //                 message: "请输入地址一"
    //             },
    //         },
    //         {
    //             title: '地址二',
    //             formType: 'input',
    //             dataIndex: 'address2',
    //             settingHide: true,
    //             hide: true,
    //         },
    //         {
    //             title: '地址三',
    //             formType: 'input',
    //             dataIndex: 'address3',
    //             settingHide: true,
    //             hide: true,
    //         },
    //         {
    //             title: '城市',
    //             formType: 'input',
    //             dataIndex: 'city',
    //             settingHide: true,
    //             hide: true,
    //             commonRules: {
    //                 required: true,
    //                 message: "请输入城市"
    //             },
    //         },
    //         {
    //             title: '州',
    //             hideLabel: true,
    //             formType: 'input',
    //             dataIndex: 'state',
    //             settingHide: true,
    //             hide: true,
    //             commonRules: {
    //                 required: true,
    //                 message: "请输入州"
    //             },
    //         },
    //         {
    //             title: '电话',
    //             formType: 'input',
    //             dataIndex: 'phone',
    //             settingHide: true,
    //             hide: true,
    //         },
    //         {
    //             title: '邮箱',
    //             formType: 'input',
    //             dataIndex: 'email',
    //             settingHide: true,
    //             hide: true,
    //         },
    //         {
    //             title: "状态",
    //             dataIndex: "status",
    //             formType: "select",
    //             dict: {
    //                 data: dictObj.shipment_parcel_type,
    //                 props: {label: 'title', value: 'key'},
    //                 translation: true,
    //             },
    //             settingHide: true,
    //             hide: () => {
    //                 if (!crudRef || !crudRef.value) {
    //                     return true;
    //                 }
    //                 let hideStatus = ['1', '2', '3', '4']
    //                 return hideStatus.includes(crudRef.value.requestParams.status)
    //             },
    //             search: true,
    //             addDisplay: false,
    //             editDisplay: false,
    //         },
    //         {
    //             title: "预约送仓",
    //             dataIndex: "to_depot_id",
    //             formType: "select",
    //             dict: {
    //                 // 远程通用接口请求，新版代码生成都有一个 remote 接口
    //                 // url: 'warehouse/depot/list',
    //                 data:dicthelpApi_depot.data,
    //                 // 指定组件接收的props
    //                 props: {label: 'name', value: 'id'},
    //                 translation: true,
    //             },
    //             commonRules: {
    //                 required: true,
    //                 message: "请选择预约仓库"
    //             },
    //             // hide: true
    //         },
    
    //         {
    //             title: '计费时间',
    //             dataIndex: 'billing_time',
    //             hide: true,
    //             addDisplay: false,
    //             formType: "date",
    //             showTime: true
    //         },
    //         {
    //             title: "申报币种",
    //             dataIndex: "declaration_currency",
    //             formType: "select",
    //             addDisplay: false,
    //             dict: {
    //                 data: dictObj.currencyType,
    //                 props: {label: 'title', value: 'key'},
    //                 translation: true,
    //             },
    //             commonRules: {
    //                 required: true,
    //                 message: "请选择申报币种"
    //             },
    //             hide: true,
    //         },
    //         {
    //             title: "申报价值",
    //             dataIndex: "declaration_value",
    //             addDisplay: false,
    //             editDisplay: false,
    //         },
    //         {
    //             title: "关联单号",
    //             dataIndex: "self_reference",
    //             formType: "input",
    //             settingHide: true,
    //             hide: true,
    //             // search: true
    //         },
    //         {
    //             title: "参考号一",
    //             dataIndex: "reference_1",
    //             formType: "input",
    //             settingHide: true,
    //             hide: true,
    //             // search: true
    //         },
    //         {
    //             title: "参考号二",
    //             dataIndex: "reference_2",
    //             formType: "input",
    //             settingHide: true,
    //             hide: true,
    //             // search: true
    //         },
    //         {
    //             title: "物品属性",
    //             dataIndex: "attrs",
    //             formType: "checkbox",
    //             dict: {
    //                 data:dictObj.ShipmentAttrs,
    //                 props: {label: 'title', value: 'key'},
    //                 tagColors: '#ff00ff',
    //                 // tagColors:{
    //                 //   "1":'#ff00ff',
    //                 //   1:'red',
    //                 // },
    //                 // data: [
    //                 //   {label: '带电', value: 'elec'},
    //                 //   {label: '带磁', value: 'magnetic'},
    //                 //   {label: '危险品', value: 'danger'}
    //                 // ],
    //                 translation: true,
    //             },
    //             search: true,
    //         },
    //         {
    //             title: "销售代表",
    //             dataIndex: "seller_id",
    //             formType: "select",
    //             dict: {
    //                 data:dicthelpApi_user.data,
    //                 props: {label: 'nickname', value: 'id'}, translation: true,
    //             },
    //             addDisplay: false,
    //             editDisplay: false,
    //             multiple:true,
    //             search: true
    //         },
    //         {
    //             title: "财务代表",
    //             dataIndex: "finance_id",
    //             formType: "select",
    //             dict: {
    //                 data:dicthelpApi_user.data,
    //                 props: {label: 'nickname', value: 'id'}, translation: true,
    //             },
    //             addDisplay: false,
    //             editDisplay: false,
    //             multiple:true,
    //             search: true
    //         },
    //         {
    //             title: "客服代表",
    //             dataIndex: "customer_service_id",
    //             formType: "select",
    //             dict: {
    //                 data:dicthelpApi_user.data,
    //                 props: {label: 'nickname', value: 'id'}, translation: true,
    //             },
    //             addDisplay: false,
    //             editDisplay: false,
    //             search: true,
    //             multiple:true
    //         },
    //         {
    //             title: "分公司",
    //             dataIndex: "organization_id",
    //             formType: "select",
    //             dict: {
    //                 data:dicthelpApi_dept.data,
    //                 props: {label: 'name', value: 'id'}, translation: true,
    //             },
    //             addDisplay: false,
    //             editDisplay: false,
    //             search: true,
    //             multiple:true
    //         },
    //         {
    //             title: "站点",
    //             dataIndex: "depot_id",
    //             addDisplay: false,
    //             editDisplay: false,
    //             formType: "select",
    //             search:true,
    //             multiple:true,
    //             dict: {
    //                 data:dicthelpApi_depot.data,
    //                 props: {label: 'name', value: 'id'}, translation: true,
    //             }
    //         },
    //         {
    //             title: "扩展单号",
    //             dataIndex: "ext_number",
    //             settingHide: true,
    //             addDisplay: false,
    //             editDisplay: false,
    //             hide: true,
    //             formType: "input",
    //             // search: true
    //         },
    //         {
    //             title: "PO NUMBER",
    //             dataIndex: "po_number",
    //             formType: "input",
    //             addDisplay:false,
    //             settingHide: true,
    //             hide: true,
    //             // search: true
    //         },
    //         {
    //             title: "包裹",
    //             dataIndex: "parcel",
    //             formType: "datagrid",
    //             addDefaultValue: [],
    //             addDisplay: false,
    //             editDisplay: false,
    //             dict: {
    //                 data: dictObj.BitControl,
    //                 props: {label: 'title', value: 'key'},
    //             },
    //             columns: [],
    //             settingHide: true,
    //             hide: true
    //         },
    //         {title: "交税方式", dataIndex: "taxwith", formType: 'radio', type: 'button', dict: {data: dictObj.taxwith,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false, search: true},
    //         {title: "交货条款", dataIndex: "deliverywith", formType: 'radio', type: 'button', dict: {data: dictObj.deliverywith ,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false},
    //         {title: "报关方式", dataIndex: "exportwith", formType: 'radio', type: 'button', dict: {data: dictObj.exportwith ,props: {label: 'title', value: 'key'}}, addDisplay: false,search: true},
    //         {title: "清关方式", dataIndex: "importwith",formType: 'radio', type: 'button', dict: {data: dictObj.importwith,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false},
    //         {title: "VAT号", dataIndex: "vat_number", settingHide: true, hide: true, editDisplay: true},
    //         {title: "IOSS号", dataIndex: "ioss", settingHide: true, hide: true, editDisplay: true},
    //         {title: "EORI", dataIndex: "eori", settingHide: true, hide: true, editDisplay: true},
    //         {title: "内部备注", dataIndex: "internal_remark", formType: "textarea", settingHide: true, hide: true},
    //         {title: "备注", dataIndex: "remark", formType: "textarea", settingHide: true, hide: true},
    //         {
    //             title: "创建者",
    //             dataIndex: "created_by",
    //             formType: "select",
    //             addDisplay: false,
    //             settingHide: true,
    //             editDisplay: false,
    //             search:true,
    //             multiple:true,
    //             dict: {
    //                 data:dicthelpApi_user.data,
    //                 props: {label: 'nickname', value: 'id'}, translation: true,
    //             },
    //             hide: true
    //         },

            // {
            //     title: '费用类型', dataIndex: 'feeTypeList', search: false, hide: true, settingHide: true,
            //     addDisplay: false, editDisplay: false,
            //     dict: {data:dicthelpApi_feeTypeList.data},    
            // },
            // {
            //     title: '供应商', dataIndex: 'supplierList', search: false, hide: true, settingHide: true,
            //     addDisplay: false, editDisplay: false,
            //     dict: {data:dicthelpApi_supplier.data},    
            // },
            // {
            //     title: '提单号', 
            //     dataIndex: 'waybill_no', 
            //     hide: true, 
            //     addDisplay: false, 
            //     editDisplay: false,
            //     settingHide: true,
            //     search:true
            // },
            // {
            //     title: "服务",
            //     dataIndex: "service_ids",
            //     formType: "tree-select",
            //     addDisplay: false,
            //     editDisplay: false,
            //     hide:true,
            //     search: true,
            //     dict: {data:dicthelpApi_serviceGroup.data,},
            //     multiple: true,
            //     maxTagCount:1,
            //     treeCheckable: true,
            //     virtualListProps:{},
            // },
            // {
            //     title: "用户", dataIndex: "user_id", formType: "select",search:true,
            //     virtualListProps:{},
            //     customClass:['customer-input-item'],
            //     addDisabled: false, editDisabled: true, 
            //     dict: {
            //         data:dicthelpApi_customer.data,
            //         props: {label: 'username', value: 'id'}, params:{select:'id,username'},translation: true,
            //     },
            //     commonRules: {required: true, message: "请选择用户"},
            //     fixed: 'left',
            //     width: 140,
            //     addApi:()=>{                  
        //         },
        //         onChange: async (val, maFormObject) => {
        //             if (!val) {
        //                 return;
        //             }
        //             user_id.value = val
        //             updateAddress(maFormObject)
        //         }
        //     },
        //     {
        //         title: '用户等级', dataIndex: 'user_level', formType: "select",
        //         hide: true,
        //         search: true,
        //         multiple: true,
        //         dict: {
        //             data:dicthelpApi_customerGrade.data,
        //             props: {label: 'name', value: 'id'}, translation: true,
        //         },
        //         addDisplay: false, editDisplay: false
        //     },
        //     {
        //         title: '国家',
        //         formType: 'select',
        //         dataIndex: 'country_search',
        //         addDisplay: false,
        //         editDisplay: false,
        //         search:true,
        //         multiple:true,
        //         hide:true,
        //         dict: {
        //             data:dictObj.countrys,
        //             props: {label: (i) => i.title + '-' + i.key, value: "key"},
        //         }
        //     },
        //     {
        //         title: '地址编码', 
        //         formType: 'select',
        //         dataIndex: 'address_lib_detail_id_search',
        //         dict: {
        //             // url: 'logistics/addressLibDetail/userlist',
        //             // data:dicthelpApi_addressLibDetail.data,
        //             data:[],
    
        //             props: {label: (i) => i.code + '-' + i.postcode, value: 'id'}
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         search:auditView(),
        //         multiple:true
        //     },
        //     {
        //         title: '邮编',
        //         hideLabel: true,
        //         formType: 'input',
        //         dataIndex: 'postcode',
        //         settingHide: true,
        //         hide: true,
        //         search: auditView(),
        //         commonRules: {
        //             required: true,
        //             message: "请输入邮编"
        //         },
        //     },
        //     {title: "运单号", dataIndex: "shipment_no", formType: "input", addDisplay: false, editDisplay: false,
        //         fixed: 'left',
        //         width: 140},
        //     {title: "客户单号", dataIndex: "client_reference", formType: "input", hide: true, settingHide: true,},
        //     {
        //         title: "服务",
        //         dataIndex: "service_id",
        //         formType: "select",
        //         addDisabled: false,
        //         editDisabled: true,
        //         fixed: 'left',
        //         width: 140,
        //         // search: true,
        //         commonRules: {required: true, message: "请选择服务"},
        //         dict: {
        //             data:dicthelpApi_service.data,
        //             props: {label: 'name', value: 'id'}, translation: true,
        //         },
        //         onChange: async (val, maFormObject) => {
        //             if (!val) {
        //                 return;
        //             }
        //             fbaConfig.value = {
        //                 n:'6',
        //                 fba: '',
        //                 fba_check: [],
        //                 po_number: '',
        //                 po_number_check: [],
        //             }
        //             let dict = maFormObject.getColumnService().dicts
        //             let parcel = maFormObject.getColumnService().get('parcel')
        //             let formData = maFormObject.formModel.value
        //             let service;
        //             dict['service_id'].map(i => {
        //                 if (val === i.value) {
        //                     service = i.data
        //                 }
        //             })
        //             // 处理交税报关方式等
        //             let radioList = ['taxwith', 'deliverywith', 'exportwith', 'importwith'];
        //             for (let i = 0; i < radioList.length; i++) {
        //                 let radio = radioList[i]
        //                 let service_radio = service[radio].toString()
        //                 let column = maFormObject.getColumnService().columns.filter(i => i.dataIndex === radio);
        //                 if (service['default_' + radio].toString() === '255') {
        //                     formData[radio] = ''
        //                     column[0].rules = [{required: true, message: '请选择' + column[0].title}];
        //                 } else if (service_radio.indexOf(formData[radio]) === -1) {
        //                     column[0].rules = []
        //                     formData[radio] = service['default_' + radio] ? service['default_' + radio].toString() : ''
        //                 }
        //             }
        //             // vat_number eori
        //             maFormObject.getColumnService().columns.map(i => {
        //                 if(i.dataIndex == 'vat_number' && service.bit_control.includes('2')){i
        //                     i.rules = {required: true, message: '请填写' + i.title}
        //                 }
        //                 if(i.dataIndex == 'eori' && service.bit_control.includes('3')){i
        //                     i.rules = {required: true, message: '请填写' + i.title}
        //                 }
        //             })
        //             // 处理包裹信息
        //             if(formData.parcel.length === 0){
        //                 getParcelData(maFormObject)
        //             }
        //             // 处理包裹申报信息
        //             let list = await declareColumns.getDeclareColumns(service.id)
        //             list = declareColumns.formatDeclareColumns(list, 'create')
        //             console.log(list)
        //             list.map(i=>{
        //                 if(i.title == '带电' || i.title == '带磁'){
        //                     i.type = 'dropdown'
        //                     i.source = ['否', '是']
        //                 }
        //             })
        //             parcel.setAttr('columns', list)
        //             service_id.value = service.id
        //             updateAddress(maFormObject)
        //         },                
        //         onControl: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 user_id.value = crudRef.value.getFormData().user_id
        //                 service_id.value = val
        //                 updateAddress(maFormObject)
    
        //                 return;
        //             }
        //             return {
        //                 parcel_count: {display: !!val,},
        //                 merge_number: {display: !!val,},
        //                 fba: {display: !!val,},
        //                 po_no: {display: !!val,},
        //                 parcel: {display: !!val,},
        //                 taxwith: {display: !!val,},
        //                 deliverywith: {display: !!val,},
        //                 exportwith: {display: !!val,},
        //                 importwith: {display: !!val,},
        //                 declaration_currency: {display: !!val,},
        //                 country: {display: !!val,},
        //                 address_lib_detail_id: {display: !!val,},
        //             };
        //         }
        //     },
        //     {
        //         title: '地址库', // todo 展示地址库编码
        //         formType: 'select',
        //         dataIndex: 'address_lib_detail_id',
        //         dict: {
        //             // url: 'logistics/addressLibDetail/userlist',
        //             data:dicthelpApi_addressLibDetail.data,
        //             props: {label: (i) => i.code + '-' + i.postcode, value: 'id'},
        //             // params: {type: 2},
        //         },
        //         // hide:true,
        //         addDisplay: false,
        //         onChange: (val, maFormObject) => {
        //             let dicts = maFormObject.getColumnService().dicts
        //             if (typeof dicts['address_lib_detail_id'] === 'undefined') {
        //                 return;
        //             }
        //             let formData = maFormObject.formModel.value
        //             if (val === 0) {
        //                 return;
        //             }
        //             if (val === '') {
        //                 formData.address_lib_detail_id = 0
        //                 formData.name = ''
        //                 formData.address1 = ''
        //                 formData.address2 = ''
        //                 formData.address3 = ''
        //                 formData.city = ''
        //                 formData.state = ''
        //                 formData.country = ''
        //                 formData.postcode = ''
        //                 formData.phone = ''
        //                 formData.email = ''
        //                 formData.company = ''
        //                 return;
        //             }
        //             for (const valElement of dicts['address_lib_detail_id']) {   
        //                 if (valElement.value === val) {
        //                     let address = valElement.data
        //                     formData.name = address.name
        //                     formData.address1 = address.address_1
        //                     formData.address2 = address.address_2
        //                     formData.address3 = address.address_3
        //                     formData.city = address.city
        //                     formData.state = address.state
        //                     formData.country = address.country
        //                     formData.postcode = address.postcode
        //                     formData.phone = address.mobile
        //                     formData.email = address.email
        //                     formData.company = address.company
        //                 }
        //             }
        //         }
        //     },
        //     {
        //         title: '国家',
        //         formType: 'select',
        //         dataIndex: 'country',
        //         addDisplay: false,
        //         // settingHide:true,
        //         // hide:true,
        //         commonRules: {
        //             required: true,
        //             message: "请选择国家"
        //         },
        //         dict: {
        //             data:dictObj.countrys,
        //             props: {label: (i) => i.title + '-' + i.key, value: "key"},
        //         }
        //     },
        //     {
        //         title: '收件人',
        //         formType: 'input',
        //         dataIndex: 'name',
        //         settingHide: true,
        //         commonRules: {
        //             required: true,
        //             message: "请输入收件人"
        //         },
        //     },
        //     {
        //         title: '末端派送',
        //         formType: 'select',
        //         dataIndex: 'end_delivery_type',
        //         addDisplay: false,
        //         editDisplay: false,
        //         dict: {
        //             data:dictObj.endDeliveryType,
        //             props: {label: 'title', value: 'key'},
        //             translation:true,
        //         }
        //     },
        //     {
        //         title: "标识",
        //         dataIndex: "tags",
        //         dict: {
        //             data:dicthelpApi_tags.data,
        //             props: {label: 'name', value: 'id'},
        //             params: {select: 'id,name,color',type:1},
        //             translation: true, 
        //         },
        //         formType: "checkbox",
        //         addDisplay: false,
        //         editDisplay: false,
        //         customRender: ({record}) => {
        //           return getDictData('tags',record.tags,crudRef)
        //         }
        //       },
        //     {
        //         title: '主单号',
        //         formType: 'input',
        //         dataIndex: 'ups',
        //         addDisplay: false,
        //         editDisplay: false,
        //         customRender: ({record}) => {
        //             if(!record.ups){
        //                 return record.ups
        //             }
        //             let str = []
        //             record.ups.map((i,k)=>{
        //                 if(k <=2){
        //                     str.push(h('span',i))
        //                     str.push(h('br'))
                            
        //                     if(k == 2){
        //                         str.push(h('span','...'))
        //                     }
        //                 }
        //             })
        //             return h('div',str);
        //         },
        //     },
        //     {
        //         title: "件数",
        //         dataIndex: "parcel_count",
        //         formType: "input-number",
        //         addDefaultValue: 1,
        //         min:1,
        //         addDisplay: false,
        //         editDisplay: false,
        //         addRules:{required: true, message: '请输入包裹数量'},
        //         onChange: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return;
        //             }
        //             let dict = maFormObject.getColumnService().dicts
        //             if (typeof dict['service_id'] === 'undefined') {
        //                 return;
        //             }
        //             let formData = crudRef.value.getFormData()
        //             if (val > 0 && formData.service_id) {
        //                 getParcelData(maFormObject, val)
        //             }
        //         },
        //     },
        //     {
        //         title: '',
        //         formType: 'checkbox',
        //         dataIndex: 'merge_number',
        //         settingHide: true,
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //         dict:{data:[{label: '连续箱号',value:1}]},
        //         onChange: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return false
        //             }
        //             fbaConfig.value.merge_number = val
        //             if (val && crudRef.value.getFormData().service_id) {
        //                 getParcelData(maFormObject)
        //             }
        //         },
        //     },
        //     {
        //         title: '',
        //         formType: 'checkbox',
        //         dataIndex: 'fba',
        //         settingHide: true,
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //         dict:{
        //             data:[{label: 'FBA',value:1}],
        //             translation:true
        //         },
        //         onChange: (val, maFormObject) => {
        //             fbaConfig.value.fba_check = val
        //             getParcelData(maFormObject)
        //         },
        //         onControl: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return false
        //             }
                    
        //             return {
        //                 fba_count: {display: val.includes('1'),},
        //                 fba_number: {display: val.includes('1'),},
        //             }
        //         }
        //     },
        //     {
        //         title: '',
        //         formType: 'checkbox',
        //         dataIndex: 'po_no',
        //         settingHide: true,
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //         dict:{
        //             data:[{label: 'PO_Number',value:1}],
        //             translation:true
        //         },
        //         onChange: (val, maFormObject) => {
        //             fbaConfig.value.po_number_check = val
        //             getParcelData(maFormObject)
        //         },
        //         onControl: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return false
        //             }
        //             return {
        //                 parcel_po_number: {display: val.includes('1'),},
        //             }
        //         }
        //     },
        //     {
        //         title: '箱号位数',
        //         formType: 'radio',
        //         dataIndex: 'fba_count',
        //         type: 'button',
        //         settingHide: true,
        //         addDefaultValue: '6',
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //         dict:{
        //             data:[{label: '3',value:'3'},{label: '6',value:'6'},],
        //         },
        //         onChange: (val, maFormObject) => {
        //             fbaConfig.value.n = val
        //             getParcelData(maFormObject)
        //         }
        //     },
        //     {title:'FBA号',dataIndex:'fba_number',addDisplay:false,editDisplay:false,hide:true,
        //         onInput: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return;
        //             }
        //             fbaConfig.value.fba = val
        //             getParcelData(maFormObject)
        //         }
        //     },
        //     {title:'PO_Number',dataIndex:'parcel_po_number',addDisplay:false,editDisplay:false,hide:true,
        //         onInput: (val, maFormObject) => {
        //             if (crudRef.value.getCurrentAction() === 'edit') {
        //                 return;
        //             }
        //             fbaConfig.value.po_number = val
        //             getParcelData(maFormObject)
        //         }
        //     },
        //     {title:'泡比',dataIndex:'wv_rate',addDisplay:false,editDisplay:false},
        //     {title:'收费重',dataIndex:'charge_weight',addDisplay:false,editDisplay:false},
        //     {title:'客户重量',dataIndex:'client_weight',addDisplay:false,editDisplay:false},
        //     {title:'客户体积',dataIndex:'client_volume',addDisplay:false,editDisplay:false},
        //     {title:'实重',dataIndex:'actual_weight',addDisplay:false,editDisplay:false},
        //     {title:'体积',dataIndex:'actual_volume',addDisplay:false,editDisplay:false},
        //     {title:'材重',dataIndex:'actual_volume_weight',addDisplay:false,editDisplay:false},
        //     {
        //         title: "应收",
        //         dataIndex: "income",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: auditView(),
        //     },
        //     {
        //         title: "应付",
        //         dataIndex: "expense",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: auditView(),
        //     },
        //     {
        //         title:'预配货提单',
        //         formType: "input",
        //         dataIndex:'container.container.public_number',
        //         addDisplay: false,
        //         editDisplay: false,
        //     },
        //     {
        //         title: "当前货站",
        //         dataIndex: "depot_id",
        //         addDisplay: false,
        //         editDisplay: false,
        //         formType: "select",
        //         dict: {
        //             data:dicthelpApi_depot.data,
        //             props: {label: 'name', value: 'id'}, translation: true,
        //         },
        //         hide: () => {
        //             if (!crudRef || !crudRef.value) {
        //                 return true;
        //             }
        //             return crudRef.value.requestParams.status == 1
        //         },
        //     },
        //     {title:'拣货站点',
        //     dataIndex:'pickup_depot_id',
        //     formType: 'select',
        //     search:true,
        //     multiple:true,
        //     dict: {
        //         data:dicthelpApi_depot.data,
        //         props: {label: 'name', value: 'id'}, translation: true,
        //     },
        //     addDisplay:false,editDisplay:false},
        //     {
        //         title: '公司',
        //         formType: 'input',
        //         settingHide: true,
        //         hide: true,
        //         dataIndex: 'company',
        //     },
        //     {
        //         title: '地址一',
        //         formType: 'input',
        //         settingHide: true,
        //         hide: true,
        //         dataIndex: 'address1',
        //         commonRules: {
        //             required: true,
        //             message: "请输入地址一"
        //         },
        //     },
        //     {
        //         title: '地址二',
        //         formType: 'input',
        //         dataIndex: 'address2',
        //         settingHide: true,
        //         hide: true,
        //     },
        //     {
        //         title: '地址三',
        //         formType: 'input',
        //         dataIndex: 'address3',
        //         settingHide: true,
        //         hide: true,
        //     },
        //     {
        //         title: '城市',
        //         formType: 'input',
        //         dataIndex: 'city',
        //         settingHide: true,
        //         hide: true,
        //         commonRules: {
        //             required: true,
        //             message: "请输入城市"
        //         },
        //     },
        //     {
        //         title: '州',
        //         hideLabel: true,
        //         formType: 'input',
        //         dataIndex: 'state',
        //         settingHide: true,
        //         hide: true,
        //         commonRules: {
        //             required: true,
        //             message: "请输入州"
        //         },
        //     },
        //     {
        //         title: '电话',
        //         formType: 'input',
        //         dataIndex: 'phone',
        //         settingHide: true,
        //         hide: true,
        //     },
        //     {
        //         title: '邮箱',
        //         formType: 'input',
        //         dataIndex: 'email',
        //         settingHide: true,
        //         hide: true,
        //     },
        //     {
        //         title: "状态",
        //         dataIndex: "status",
        //         formType: "select",
        //         dict: {
        //             data: dictObj.shipment_parcel_type,
        //             props: {label: 'title', value: 'key'},
        //             translation: true,
        //         },
        //         settingHide: true,
        //         hide: () => {
        //             if (!crudRef || !crudRef.value) {
        //                 return true;
        //             }
        //             let hideStatus = ['1', '2', '3', '4']
        //             return hideStatus.includes(crudRef.value.requestParams.status)
        //         },
        //         search: true,
        //         addDisplay: false,
        //         editDisplay: false,
        //     },
        //     {
        //         title: "预约送仓",
        //         dataIndex: "to_depot_id",
        //         formType: "select",
        //         dict: {
        //             // 远程通用接口请求，新版代码生成都有一个 remote 接口
        //             // url: 'warehouse/depot/list',
        //             data:dicthelpApi_depot.data,
        //             // 指定组件接收的props
        //             props: {label: 'name', value: 'id'},
        //             translation: true,
        //         },
        //         commonRules: {
        //             required: true,
        //             message: "请选择预约仓库"
        //         },
        //         // hide: true
        //     },
    
        //     {
        //         title: '计费时间',
        //         dataIndex: 'billing_time',
        //         hide: true,
        //         addDisplay: false,
        //         formType: "date",
        //         showTime: true
        //     },
        //     {
        //         title: "申报币种",
        //         dataIndex: "declaration_currency",
        //         formType: "select",
        //         addDisplay: false,
        //         dict: {
        //             data: dictObj.currencyType,
        //             props: {label: 'title', value: 'key'},
        //             translation: true,
        //         },
        //         commonRules: {
        //             required: true,
        //             message: "请选择申报币种"
        //         },
        //         hide: true,
        //     },
        //     {
        //         title: "申报价值",
        //         dataIndex: "declaration_value",
        //         addDisplay: false,
        //         editDisplay: false,
        //     },
        //     {
        //         title: "关联单号",
        //         dataIndex: "self_reference",
        //         formType: "input",
        //         settingHide: true,
        //         hide: true,
        //         // search: true
        //     },
        //     {
        //         title: "参考号一",
        //         dataIndex: "reference_1",
        //         formType: "input",
        //         settingHide: true,
        //         hide: true,
        //         // search: true
        //     },
        //     {
        //         title: "参考号二",
        //         dataIndex: "reference_2",
        //         formType: "input",
        //         settingHide: true,
        //         hide: true,
        //         // search: true
        //     },
        //     {
        //         title: "物品属性",
        //         dataIndex: "attrs",
        //         formType: "checkbox",
        //         dict: {
        //             data:dictObj.ShipmentAttrs,
        //             props: {label: 'title', value: 'key'},
        //             tagColors: '#ff00ff',
        //             // tagColors:{
        //             //   "1":'#ff00ff',
        //             //   1:'red',
        //             // },
        //             // data: [
        //             //   {label: '带电', value: 'elec'},
        //             //   {label: '带磁', value: 'magnetic'},
        //             //   {label: '危险品', value: 'danger'}
        //             // ],
        //             translation: true,
        //         },
        //         search: true,
        //     },
        //     {
        //         title: "销售代表",
        //         dataIndex: "seller_id",
        //         formType: "select",
        //         dict: {
        //             data:dicthelpApi_user.data,
        //             props: {label: 'username', value: 'id'}, translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         multiple:true,
        //         search: true
        //     },
        //     {
        //         title: "财务代表",
        //         dataIndex: "finance_id",
        //         formType: "select",
        //         dict: {
        //             data:dicthelpApi_user.data,
        //             props: {label: 'username', value: 'id'}, translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         multiple:true,
        //         search: true
        //     },
        //     {
        //         title: "客服代表",
        //         dataIndex: "customer_service_id",
        //         formType: "select",
        //         dict: {
        //             data:dicthelpApi_user.data,
        //             props: {label: 'username', value: 'id'}, translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         search: true,
        //         multiple:true
        //     },
        //     {
        //         title: "分公司",
        //         dataIndex: "organization_id",
        //         formType: "select",
        //         dict: {
        //             data:dicthelpApi_dept.data,
        //             props: {label: 'name', value: 'id'}, translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         search: true,
        //         multiple:true
        //     },
        //     {
        //         title: "站点",
        //         dataIndex: "depot_id",
        //         addDisplay: false,
        //         editDisplay: false,
        //         formType: "select",
        //         search:true,
        //         multiple:true,
        //         dict: {
        //             data:dicthelpApi_depot.data,
        //             props: {label: 'name', value: 'id'}, translation: true,
        //         }
        //     },
        //     {
        //         title: "扩展单号",
        //         dataIndex: "ext_number",
        //         settingHide: true,
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //         formType: "input",
        //         // search: true
        //     },
        //     {
        //         title: "PO NUMBER",
        //         dataIndex: "po_number",
        //         formType: "input",
        //         addDisplay:false,
        //         settingHide: true,
        //         hide: true,
        //         // search: true
        //     },
        //     {
        //         title: "包裹",
        //         dataIndex: "parcel",
        //         formType: "datagrid",
        //         addDefaultValue: [],
        //         addDisplay: false,
        //         editDisplay: false,
        //         dict: {
        //             data: dictObj.BitControl,
        //             props: {label: 'title', value: 'key'},
        //         },
        //         columns: [],
        //         settingHide: true,
        //         hide: true
        //     },
        //     {title: "交税方式", dataIndex: "taxwith", formType: 'radio', type: 'button', dict: {data: dictObj.taxwith,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false, search: true},
        //     {title: "交货条款", dataIndex: "deliverywith", formType: 'radio', type: 'button', dict: {data: dictObj.deliverywith ,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false},
        //     {title: "报关方式", dataIndex: "exportwith", formType: 'radio', type: 'button', dict: {data: dictObj.exportwith ,props: {label: 'title', value: 'key'}}, addDisplay: false,search: true},
        //     {title: "清关方式", dataIndex: "importwith",formType: 'radio', type: 'button', dict: {data: dictObj.importwith,props: {label: 'title', value: 'key'}}, settingHide: true, hide: true, addDisplay: false},
        //     {title: "VAT号", dataIndex: "vat_number", settingHide: true, hide: true, editDisplay: true},
        //     {title: "IOSS号", dataIndex: "ioss", settingHide: true, hide: true, editDisplay: true},
        //     {title: "EORI", dataIndex: "eori", settingHide: true, hide: true, editDisplay: true},
        //     {title: "内部备注", dataIndex: "internal_remark", formType: "textarea", settingHide: true, hide: true},
        //     {title: "备注", dataIndex: "remark", formType: "textarea", settingHide: true, hide: true},
        //     {
        //         title: "创建者",
        //         dataIndex: "created_by",
        //         formType: "select",
        //         addDisplay: false,
        //         settingHide: true,
        //         editDisplay: false,
        //         search:true,
        //         multiple:true,
        //         dict: {
        //             data:dicthelpApi_user.data,
        //             props: {label: 'username', value: 'id'}, translation: true,
        //         },
        //         hide: true
        //     },
        //     // {
        //     //   title: "更新者",
        //     //   dataIndex: "updated_by",
        //     //   formType: "input",
        //     //   addDisplay: false,
        //     //   settingHide:true,
        //     //   editDisplay: false,
        //     //   hide: true
        //     // },
        //     {
        //         title: "创建时间",
        //         dataIndex: "created_at",
        //         formType: "range",
        //         addDisplay: false,
        //         editDisplay: false,
        //         search:true,
        //         showTime: true
        //     },
        //     {
        //         title: "拣货时间",
        //         dataIndex: "picking_at",
        //         formType: "range",
        //         addDisplay: false,
        //         editDisplay: false,
        //         search: true,
        //         showTime: true
        //     },
        //     {
        //         title: "签收时间",
        //         dataIndex: "delivered_at",
        //         formType: "range",
        //         addDisplay: false,
        //         editDisplay: false,
        //         search: true,
        //         showTime: true,
        //         settingHide: true,
        //         hide: () => {
        //             if (!crudRef || !crudRef.value) {
        //                 return true;
        //             }
        //             return crudRef.value.requestParams.status != 4
        //         },
        //     },
        //     {
        //         title: "审计状态",
        //         dataIndex: "is_audit",
        //         formType: "select",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         search: !auditView(),
        //         dict:{
        //             data:[
        //                 {label:'应收已审计',value:'1'},
        //                 {label:'应收未审计',value:'2'},
        //                 {label:'应付已审计',value:'3'},
        //                 {label:'应付未审计',value:'4'},
        //                 {label:'销售成本已审计',value:'5'},
        //                 {label:'销售成本未审计',value:'6'},
        //                 {label:'销售提成已审计',value:'7'},
        //                 {label:'销售提成未审计',value:'8'},
        //             ]
        //         },
        //         multiple:true,
        //     },
        //     {
        //         title: "应收金额",
        //         dataIndex: "costomer_fee_amount",
        //         formType: "input-number",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         rangeSearch: true,
        //         search: !auditView(),
        //     },
        //     {
        //         title: "应付金额",
        //         dataIndex: "supplier_fee_amount",
        //         formType: "input-number",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         rangeSearch: true,
        //         search: !auditView(),
        //     },
        //     {
        //         title: "销售利润",
        //         dataIndex: "sales_profit_amount",
        //         formType: "input-number",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         // rangeSearch: true,
        //         // search: !auditView(), todo 销售利润范围查找
        //     },
        //     // {
        //     //     title: "毛利",
        //     //     dataIndex: "gross_profit",
        //     //     formType: "input-number",
        //     //     addDisplay: false,
        //     //     editDisplay: false,
        //     //     hide:true,
        //     //     rangeSearch: true,
        //     //     search: !auditView(),
        //     // },
        //     {
        //         title: "销售成本",
        //         dataIndex: "is_cost",
        //         formType: "select",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide:true,
        //         search: !auditView(),
        //         dict:{
        //             data:[
        //                 {label:'无成本',value:'1'},
        //                 {label:'有成本',value:'2'},
        //             ]
        //         }
        //     },
        //     {
        //         title: "更新时间",
        //         dataIndex: "updated_at",
        //         formType: "date",
        //         addDisplay: false,
        //         editDisplay: false,
        //         settingHide: true,
        //         hide: true,
        //         showTime: true
        //     },
    
        //     {
        //         title: "费用类型",
        //         dataIndex: "fee_type",
        //         formType: "select",
        //         dict: {
        //             // remote: 'finance/feeType/remote',
        //             data:dicthelpApi_feeTypeRemote.data,
        //             props: {label: 'fee_name', value: 'id'},
        //             translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //     },
        //     {
        //         title: "费用单位",
        //         dataIndex: "unit",
        //         formType: "select",
        //         dict: {
        //             data: [
        //                 {label: "KG", value: 1},
        //                 {label: "立方", value: 2},
        //                 {label: "票", value: 3},
        //             ],
        //             translation: true,
        //         },
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: true,
        //     },
        //     {
        //         title: "销售成本",
        //         dataIndex: "cost",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: auditView(),
        //     },
        //     {
        //         title: "销售提成",
        //         dataIndex: "bonus",
        //         addDisplay: false,
        //         editDisplay: false,
        //         hide: auditView(),
        //     },
    
        //     {title:'毛利',dataIndex:'flow.rough_profit',addDisplay:false,editDisplay:false},
        //     {title:'毛利率',dataIndex:'flow.rough_profit_rate',addDisplay:false,editDisplay:false},
        //     {title:'净利润',dataIndex:'flow.net_profit',addDisplay:false,editDisplay:false},
        //     {title:'销售利润',dataIndex:'flow.sale_profit',addDisplay:false,editDisplay:false},
    
        //     // {title:'退件时间',dataIndex:'info.return_at',addDisplay:false,editDisplay:false},
        //     // {title:'取消时间',dataIndex:'info.cancel_at',addDisplay:false,editDisplay:false},
        //     // {title:'出发时间',dataIndex:'info.ship_at',addDisplay:false,editDisplay:false},
        // ])
}